/**
 * JDBC执行监控
 * 
 * @author XiongChun
 * @since 2010-05-20
 */
Ext.onReady(function() {
	/**
	 * 数据存储
	 */
	var store = Ext.create('Ext.data.Store', {
				fields : ['name', 'email', 'phone'],
				data : {
					'items' : [{
								"name" : "Lisa",
								"email" : "lisa@simpsons.com",
								"phone" : "555-111-1224"
							}, {
								"name" : "Bart",
								"email" : "bart@simpsons.com",
								"phone" : "555--222-1234"
							}, {
								"name" : "Homer",
								"email" : "home@simpsons.com",
								"phone" : "555-222-1244"
							}, {
								"name" : "Marge",
								"email" : "marge@simpsons.com",
								"phone" : "555-222-1254"
							}]
				},
				proxy : {
					type : 'memory',
					reader : {
						type : 'json',
						root : 'items'
					}
				}
			});

	var grid = new Ext.grid.Panel({
				layout : 'fit',
				title : '<span style="font-weight:normal">JDBC执行监控</span>',
				iconCls : 'database_refreshIcon',
				columnLines : false,
				selModel : Ext.create('Ext.selection.CheckboxModel', {
							listeners : {
								selectionchange : function(sm, selections) {
									grid4
											.down('#removeButton')
											.setDisabled(selections.length == 0);
								}
							}
						}),
				renderTo : 'jdbcGridDiv',
				autoScroll : true,
				store : store,
				loadMask : {
					msg : '正在加载表格数据,请稍等...'
				},
				
				frame : true,
				autoExpandColumn : 'sqltext',
				columns : [Ext.create('Ext.grid.RowNumberer'), {
							text : 'Name',
							dataIndex : 'name'
						}, {
							text : 'Email',
							dataIndex : 'email',
							flex:1
						}, {
							text : 'Phone',
							dataIndex : 'phone'
						}],

				tbar : [{
					text : '重置',
					iconCls : 'tbar_synchronizeIcon',
					handler : function() {
						if (runMode == '0') {
							Ext.Msg.alert('提示',
									'系统正处于演示模式下运行,您的操作被取消!该模式下只能进行查询操作!');
							return;
						}
						reset();
					}
				}, '->', new Ext.form.ComboBox({
							id : 'type_id',
							hiddenName : 'type',
							triggerAction : 'all',
							store : new Ext.data.SimpleStore({
										fields : ['value', 'text'],
										data : [[1, 'INSERT'], [2, 'UPDATE'],
												[3, 'DELETE'], [4, 'SELECT'],
												[5, 'CALLPRC']]
									}),
							displayField : 'text',
							valueField : 'value',
							mode : 'local',
							listWidth : 120, // 下拉列表的宽度,默认为下拉选择框的宽度
							forceSelection : true,
							typeAhead : true,
							emptyText : '操作类型',
							// editable : false,
							resizable : true,
							width : 100
						}), '-', {
					id : 'starttime',
					name : 'starttime',
					xtype : 'datefield',
					emptyText : '执行时间大于',
					format : 'Y-m-d',
					width : 100
				}, '-', {
					id : 'costtime',
					name : 'costtime',
					xtype : 'numberfield',
					emptyText : '执行耗时大于',
					enableKeyEvents : true,
					listeners : {
						specialkey : function(field, e) {
							if (e.getKey() == Ext.EventObject.ENTER) {
								query();
							}
						}
					},
					width : 100
				}, '-', {
					id : 'rowcount',
					name : 'rowcount',
					xtype : 'numberfield',
					emptyText : '影响行数大于',
					enableKeyEvents : true,
					listeners : {
						specialkey : function(field, e) {
							if (e.getKey() == Ext.EventObject.ENTER) {
								query();
							}
						}
					},
					width : 100
				}, '-', {
					id : 'sql',
					name : 'sql',
					xtype : 'textfield',
					emptyText : 'SQL关键字',
					enableKeyEvents : true,
					listeners : {
						specialkey : function(field, e) {
							if (e.getKey() == Ext.EventObject.ENTER) {
								query();
							}
						}
					},
					width : 100
				}, '-', {
					text : '查询',
					iconCls : 'previewIcon',
					handler : function() {
						query();
					}
				}, '-', {
					text : '刷新',
					iconCls : 'arrow_refreshIcon',
					handler : function() {
						store.reload();
					}
				}],
				dockedItems : [{
							xtype : 'pagingtoolbar',
							store : store,
							dock : 'bottom',
							displayInfo : true
						
						}]
			});
	/**
	 * 布局
	 */
	var viewport = new Ext.Viewport({
				layout : 'fit',
				items : [grid]
			});
});